<?xml version="1.0"?>
<component name="org.nuxeo.ecm.user.registration.layouts.contrib.override">

  <require>org.nuxeo.ecm.user.registration.layouts.contrib</require>

  <?xml version='1.0' encoding='UTF-8'?>
<extension point="widgets" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">

    <widget name="listing_ace_begin" type="datetime">
      <labels>
        <label mode="any">label.permissions.from</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>data.docinfo.begin</field>
      </fields>
      <properties widgetMode="any">
        <property name="pattern">#{nxu:basicDateFormatter()}</property>
      </properties>
      <properties mode="csv">
        <property name="csv_formatMask">#{nxu:basicDateFormatter()}</property>
        <property name="csv_forceType">date</property>
      </properties>
    </widget>

    <widget name="listing_ace_end" type="datetime">
      <labels>
        <label mode="any">label.permissions.to</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>data.docinfo.end</field>
      </fields>
      <properties widgetMode="any">
        <property name="pattern">#{nxu:basicDateFormatter()}</property>
      </properties>
      <properties mode="csv">
        <property name="csv_formatMask">#{nxu:basicDateFormatter()}</property>
        <property name="csv_forceType">date</property>
      </properties>
    </widget>

    <widget name="request_config_allowUserCreation" type="checkbox">
      <labels>
        <label mode="any">label.registration.config.allowUserCreation</label>
      </labels>
      <helpLabels>
        <label mode="edit">label.registration.config.help.allowUserCreation</label>
      </helpLabels>
      <translated>true</translated>
      <fields>
        <field>registrationconfiguration:allowUserCreation</field>
      </fields>
    </widget>

    <widget name="request_config_allowDirectValidationForExistingUser" type="checkbox">
      <labels>
        <label mode="any">label.registration.config.allowDirectValidationForExistingUser</label>
      </labels>
      <helpLabels>
        <label mode="edit">label.registration.config.help.allowDirectValidationForExistingUser</label>
      </helpLabels>
      <translated>true</translated>
      <fields>
        <field>registrationconfiguration:allowDirectValidationForExistingUser</field>
      </fields>
    </widget>

    <widget name="request_config_forceRight" type="checkbox">
      <labels>
        <label mode="any">label.registration.config.forceRightAssignment</label>
      </labels>
      <helpLabels>
        <label mode="edit">label.registration.config.help.forceRightAssignment</label>
      </helpLabels>
      <translated>true</translated>
      <fields>
        <field>registrationconfiguration:forceRightAssignment</field>
      </fields>
    </widget>

    <widget name="request_config_displayLocalRegistration" type="checkbox">
      <labels>
        <label mode="any">label.registration.config.displayLocalRegistrationTab</label>
      </labels>
      <helpLabels>
        <label mode="edit">label.registration.config.help.displayLocalRegistrationTab</label>
      </helpLabels>
      <translated>true</translated>
      <fields>
        <field>registrationconfiguration:displayLocalRegistrationTab</field>
      </fields>
    </widget>

    <widget name="user_request_login" type="text">
      <labels>
        <label mode="any">label.userinfo.login</label>
      </labels>
      <fields>
        <field>data.userinfo.login</field>
      </fields>
      <properties widgetMode="edit">
        <property name="styleClass">dataInputText</property>
        <property name="validator">
          #{userRegistrationActions.validateUsernameEmail}
        </property>
      </properties>
    </widget>

    <widget name="user_request_firstName" type="text">
      <labels>
        <label mode="any">label.userinfo.firstName</label>
      </labels>
      <fields>
        <field>data.userinfo.firstName</field>
      </fields>
      <properties widgetMode="edit">
        <property name="styleClass">dataInputText</property>
      </properties>
    </widget>

    <widget name="user_request_lastName" type="text">
      <labels>
        <label mode="any">label.userinfo.lastName</label>
      </labels>
      <fields>
        <field>data.userinfo.lastName</field>
      </fields>
      <properties widgetMode="edit">
        <property name="styleClass">dataInputText</property>
      </properties>
    </widget>

    <widget name="user_request_groups" type="multipleUsersSuggestion">
      <labels>
        <label mode="any">label.userinfo.groups</label>
      </labels>
      <fields>
        <field>data.userinfo.groups</field>
      </fields>
      <properties widgetMode="edit">
        <property name="styleClass">dataInputText</property>
      </properties>
    </widget>

    <widget name="user_request_email" type="text">
      <labels>
        <label mode="any">label.userinfo.email</label>
      </labels>
      <fields>
        <field>data.userinfo.email</field>
      </fields>
      <properties widgetMode="edit">
        <property name="required">true</property>
        <property name="styleClass">dataInputText</property>
      </properties>
    </widget>

    <widget name="doc_request_permission" type="template">
      <labels>
        <label mode="any">label.docinfo.permission</label>
      </labels>
      <fields>
        <field>data.docinfo.permission</field>
      </fields>
      <properties widgetMode="edit">
        <property name="required">true</property>
      </properties>
      <properties widgetMode="any">
        <property name="template">/widgets/user_request_rights_widget_template.xhtml</property>
      </properties>
    </widget>

    <widget name="doc_request_date_range" type="datetimeRange">
      <labels>
        <label mode="any">label.request.date.range</label>
      </labels>
      <helpLabels>
        <label mode="edit">label.request.help.range</label>
      </helpLabels>
      <fields>
        <field>data.docinfo.begin</field>
        <field>data.docinfo.end</field>
      </fields>
      <properties widgetMode="edit">
        <property name="styleClass">dataInputText</property>
      </properties>
    </widget>

    <widget name="multiple_request_emails" type="textarea">
      <labels>
        <label mode="any">label.request.multiple.emails</label>
      </labels>
      <helpLabels>
        <label mode="edit">label.request.help.multiple.emails</label>
      </helpLabels>
      <fields>
        <field>data.multipleEmails</field>
      </fields>
      <properties widgetMode="edit">
        <property name="styleClass">dataInputText</property>
        <property name="required">true</property>
        <property name="validator">
          #{userRegistrationActions.validateMultipleUser}
        </property>
      </properties>
    </widget>

    <widget name="user_request_copy_owner" type="checkbox">
      <labels>
        <label mode="any">label.request.copyOwner</label>
      </labels>
      <fields>
        <field>data.copyOwner</field>
      </fields>
      <properties widgetMode="edit">
        <property name="styleClass">dataInputText</property>
      </properties>
    </widget>

    <widget name="user_request_group" type="multipleUsersSuggestion">
      <labels>
        <label mode="any">label.request.groups</label>
      </labels>
      <translated>true</translated>
      <fields>
        <field>data.userinfo.groups</field>
      </fields>
      <widgetModes>
        <mode value="edit">
          #{nxu:test(webActions.checkFilter('usersGroupsManagementAccess'),
          'edit', 'view')}
        </mode>
        <mode value="editPassword">********</mode>
      </widgetModes>
      <properties widgetMode="any">
        <property name="userSuggestionSearchType">GROUP_TYPE</property>
        <property name="hideAdminGroups">true</property>
        <property name="hidePowerUsersGroup">true</property>
      </properties>
    </widget>

    <widget name="user_request_comment" type="textarea">
      <labels>
        <label mode="any">label.request.comment</label>
      </labels>
      <helpLabels>
        <label mode="edit">label.request.help.comment</label>
      </helpLabels>
      <fields>
        <field>data.comment</field>
      </fields>
      <properties widgetMode="edit">
        <property name="styleClass">dataInputText</property>
      </properties>
    </widget>

    <widget name="user_request_accept" type="template">
      <labels>
        <label mode="any">command.userrequest.accept</label>
      </labels>
      <widgetModes>
        <mode value="any">#{currentUser.isAdministrator() ? 'edit' : 'hidden'}</mode>
      </widgetModes>
      <fields>
        <field>data</field>
      </fields>
      <properties mode="any">
        <property name="template">/widgets/user_request_accept_widget_template.xhtml</property>
      </properties>
    </widget>

    <widget name="user_request_reject" type="template">
      <labels>
        <label mode="any">command.userrequest.reject</label>
      </labels>
      <widgetModes>
        <mode value="any">#{currentUser.isAdministrator() ? 'edit' : 'hidden'}</mode>
      </widgetModes>
      <fields>
        <field>data</field>
      </fields>
      <properties mode="any">
        <property name="template">/widgets/user_request_reject_widget_template.xhtml</property>
      </properties>
    </widget>

  </extension>

</component>
